/**
 * Created by kevin on 2017/6/1.
 */

var model= require('./model');

var Roles = model.createModel({
    name : String,
    permissions : {
        packageA : {type : Boolean,default:false},
        packageI : {type : Boolean,default:false},
        managerA : {type : Boolean,default:false}, // 安卓 应用 git 机器人
        managerI : {type : Boolean,default:false}, // 苹果 应用 Repo 代理 git 机器人
        article : {type : Boolean,default:true},
        checkUser : {type : Boolean,default:false} // 同意用户申请
    },
    ctime : {type : Date,default:Date.now}
},'Roles');

Roles.getAll = function(callback) {
    Roles.find({},null,{ lean: true ,sort:{ctime:-1}},callback);
}

Roles.getById = function (id,callback) {
    Roles.findById(id,callback);
}

Roles.createUniqueName = function (doc,callback) {
    Roles.findOne({name : doc.name},function (err,role) {
        if (role) {
            if (callback) {
                callback(new Error('角色名称已被占用',null));
            }
        } else  {
            Roles.create(doc,callback);
        }
    });
}

Roles.edit = function (id,doc,callback) {
    Roles.findByIdAndUpdate(id, doc, callback);
}

module.exports= Roles;
